Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

REMD Workflow Automation #36

Open
wants to merge 49 commits into
base: master
Choose a base branch
from
Open

REMD Workflow Automation #36

wants to merge 49 commits into from

Conversation

tlfobe
Copy link
Member

@tlfobe tlfobe commented Feb 29, 2024

This PR was merged with PR #35, but this wasn't fully finished. So I'm reopening this PR as I continue to build out the simulation setup workflow. Here is the PR notes from the original PR

Reason for the PR

I think a lot of friction for getting simulations setup and running are because the force field parameter generation and assignment was setup to run in the examples directories, instead of directly in the simulation workflow. This PR is meant to put the simulation setup, running and analysis all in one place. Additionally, this PR is meant to take a lot of the hand tuning required to setup simulations.

Features

  • Based on specific parameter YML files parameterization can be handled by different workflows (whether we need to parameterize with OpenFF-2.0 or a Bespoke-Fit FF).
  • Build system with packmol in a signac workflow. These workflow functions should check for specific software they need to run, or they can be provided in the input files.
  • Move REMD simulations and MD simulations into a signac workflow that is in analysis_workflows

To Do's

  • Add workflow function to build foldamer
  • Add workflow function to solvate system with chloroform (and minimize). This will require the system to have packmol installed (or at least an input option that points to packmol or make it a subpackage)
  • Add workflow function to build topology file for any system
  • Add workflow function that sets up and submits REMD simulations
  • ...

@tlfobe
Copy link
Member Author

tlfobe commented Feb 29, 2024

@mattwthompson Do you know the best-practice way to include an OpenEye license for testing with GHAs? I see OpenFF-toolkit has tests with and without OpenEye

@mrshirts
Copy link

mrshirts commented Mar 1, 2024

Do you know the best-practice way to include an OpenEye license for testing with GHAs? I see OpenFF-toolkit has tests with and without OpenEye

Yeah, you don't want to include OpenEye in any release package.

…mer systems, next is to build topologies for the entire system
@mattwthompson
Copy link

In terms of packaging, you want to keep it an optional dependency. Both because your users might not have a license and because you can't bundle it with a released version (licensing details, to my understanding) nor include it as a required dependency, at least with conda-forge infrastructure.

If you want to include it in CI runs, and I'm not totally sure you do, OpenFF's setup is to store a license we're permitted to use in CI (we might have special permission, I don't know the terms of the Shirts license) as an org-level secret that's accessible from actions. (https://github.com/organizations/ORG_NAME/settings/secrets/actions, stored as OE_LICENSE as a secret, which is encrypted and not visible even to us.) This is then accessible in actions and dumped into an encrypted file in a way that's not accessible in logs, and for that matter the secret isn't even accessible when CI is run from a fork.

My $0.02, not knowing what functionality you actually need in automation, is to keep things RDKit/open-source in CI and roll with OpenEye in your local development/production environment. This is how the toolkit is designed to work, including both the high-level API and skipping tests if OpenEye is not installed.

@tlfobe tlfobe changed the title Workflow parameterization REMD Workflow Automation Mar 2, 2024
@tlfobe
Copy link
Member Author

tlfobe commented Mar 2, 2024

Okay, sounds good! I was asking because I had a testcase that assigns parameters for a small foldamer that would go faster on an install with OpenEye, but since it's using the OpenFF toolkit it can still run without OpenEye, it just takes a bit longer (~40 minutes). I might just skip that test all together when running tests with GHAs.

@mrshirts
Copy link

mrshirts commented Mar 2, 2024

Yeah, I wouldn't worry about the OpenEye interface.

tlfobe and others added 6 commits March 2, 2024 12:33
…le molecule and musytem topology files. Created a decorator to cd into specific job directories to minimize repeated cd in cd out in flow operation functions
… to call job.doc[build_parameters][foldamer_structure] every time i need to get a name for a file
…eration into different objects, made some utility gromacs wrapper functions that are python functions that call gromacs with their inputs, working on getting connect records correct so I can use openff to parameterize the entire system, rather than writing my own topology file
@tlfobe tlfobe self-assigned this May 10, 2024
Theodore Fobe and others added 13 commits August 5, 2024 18:33
…s/topologies, next is to add topologies to the internally stored structures
…will be to build and parameterize system using openff toolkit and have those topology files be added to the top manager
…dded tests for topology_manager using unittest, remd_workflow now currently works up until running/submitting simulations
…er_tests now navigate to the test directory before running tests, so that files generated from tests are not left in whatever directory you `run pytest` from
…ll there are no existing test.pkl to load when running the tests
…get Psi4 bespoke-fit workflow working, currently getting segmentation faults when using default QCSpec object
tlfobe and others added 26 commits September 17, 2024 12:43
…chemistries and have simulation directories setup for tetramer remd simulations
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants